<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        const y = 1 ;
        // 
        // const foo;
        // console.log(foo);//缺少赋值

        // 【常量声明const】
        // const 声明一个只读的常量

        // [注意点1-基本类数据类型无法重新赋值]
        const pi = 3.14;
        console.log(pi);
        // pi = 3 ;
        // console.log(pi);// Assignment to constant variable.

        // 【注意点3-有块级作用域】
        if(true){
            const max = 5 ;
            console.log(max);
        }
        // console.log(max);//max is not defined

        // 【注意点4-不会变量提升】
        // const命令声明的常量也是不能提升，同样存在暂时性死区，只能再声明的位置后面使用。
        if(true){
            console.log(max);//Cannot access 'max' before initialization
            const max = 2;
        }

        // 【注意点5-不能重复声明】
        // let age = 18;
        // const age = 65;

        // 【】

        // 【总结】
        // 1.基本数据类型无法重新赋值（引用类型可以更改内容）
        // 2.必须设置初始值
        // 3.有块级作用域
        // 4.不会变量提升
        // 5.不能重复声明

    </script>
</body>
</html>